home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / System / ReqToolsLib / Source / reqtools / rtlockwindow.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-02  |  2.1 KB  |  87 lines

  1.  
  2. /*
  3.     (C) 1999 AROS - The Amiga Research OS
  4.     $Id: rtlockwindow.c,v 1.7 2001/04/12 09:11:46 iaint Exp $
  5.  
  6.     Desc:
  7.     Lang: English
  8. */
  9.  
  10. #include <exec/types.h>
  11. #include <proto/exec.h>
  12. #include <proto/reqtools.h>
  13. #include <proto/intuition.h>
  14. #include <exec/libraries.h>
  15. #include <exec/memory.h>
  16. #include <aros/libcall.h>
  17. #include "reqtools_intern.h"
  18. #include "general.h"
  19. #include "rtfuncs.h"
  20.  
  21. /*****************************************************************************
  22.  
  23.     NAME */
  24.  
  25.     AROS_LH1(APTR, rtLockWindow,
  26.  
  27. /*  SYNOPSIS */
  28.  
  29.     AROS_LHA(struct Window *, window, A0),
  30.  
  31. /*  LOCATION */
  32.  
  33.     struct ReqToolsBase *, ReqToolsBase, 26, ReqTools)
  34.  
  35. /*  FUNCTION
  36.  
  37.     Lock a window so it will no longer accept any user input.  The only
  38.     functions left to the user are depth arrangement and window dragging.
  39.     All gadgets will be un-selectable and the window can not be resized.
  40.     It will also get the standard wait pointer set.  The pointer at the
  41.     time of locking will be restored when the window is unlocked.
  42.  
  43.     You may nest calls to rtLockWindow() and rtUnlockWindow().  Just make
  44.     sure you unlock the window in the correct (opposite) order.
  45.  
  46.     See the RT_LockWindow tag for an automatic way of locking your window.
  47.  
  48.     Use this function (and rtUnlockWindow()) instead of rtSetWaitPointer().
  49.     
  50.     INPUTS
  51.  
  52.     window  --  pointer to the window to be locked
  53.  
  54.     RESULT
  55.  
  56.     a pointer to a (private) window lock.  You must pass this to
  57.     rtUnlockWindow() to unlock the window again. Never mind if this is NULL.
  58.     This means there was not enough memory and the window will not be locked.
  59.     There is no sense in reporting this, just carry on and pass the NULL
  60.     window lock to rtUnlockWindow().
  61.  
  62.     NOTES
  63.     The wait pointer will look exactly like the standard Workbench 2.0
  64.     wait pointer. In combination with PointerX, ClockTick or
  65.     LacePointer the handle will turn.
  66.  
  67.     EXAMPLE
  68.  
  69.     BUGS
  70.     none known
  71.  
  72.     SEE ALSO
  73.  
  74.     INTERNALS
  75.  
  76.     HISTORY
  77.  
  78. ******************************************************************************/
  79. {
  80.     AROS_LIBFUNC_INIT
  81.  
  82.     return RTFuncs_rtLockWindow(window);
  83.  
  84.     AROS_LIBFUNC_EXIT
  85.     
  86. } /* rtLockWindow */
  87.